/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package mx.edu.itschapala.sistemas.septimo.control;

import mx.edu.itschapala.sistemas.septimo.modelo.*;
import java.util.*;
import mx.edu.itschapala.sistemas.septimo.vista.enumeracion.TiposBusqueda;
/**
 *
 * @author Ingenieriaz
 */
public class ProductoLNArreglo implements ProductoLNLocal{
    
    private Producto listaProductos[]=new Producto[100];
	private int indice=0;

	public void registrar(Producto producto){
		if(indice<99){
		listaProductos[indice]=producto;
		indice++;
	}
	else{
		System.out.println("No hay espacio en memoria");
	}
	}

	public void modificar(Producto producto){
		
		int poss=-1;
		for(int y=0;y<indice;y++){
			if(listaProductos[y].getCodigo()==producto.getCodigo()){
				poss=y;
		}
	}
		if(poss!=-1){
			listaProductos[poss]=producto;
		}
}

	public void eliminar(Producto producto){
		int poss=-1;
		for(int y=0;y<indice;y++){
			if(listaProductos[y].getCodigo()==producto.getCodigo()){
				poss=y;
		}
	}
		if(poss!=-1){
			while(poss<indice){
			listaProductos[poss]=listaProductos[poss+1];
			poss++;
		
		}
		indice--;
	}
	}

	public Producto buscarPorCodigo(int codigo){
		int pos=-1;
		for(int x=0; x<indice;x++){
			if(listaProductos[x].getCodigo()==codigo){
				pos=x;
			}
		}
		if(pos!=-1){
			return listaProductos[pos];
		}else{
			return null;
		}
	}

	public List<Producto> getTodos(){
		List<Producto> lista=new ArrayList<Producto>();
		for(int x=0;x<indice;x++){
			lista.add(listaProductos[x]);
		}
		return lista;
	}

    @Override
    public List<Producto> getProNombre(String nombre, TiposBusqueda criterio) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}
